home *** CD-ROM | disk | FTP | other *** search
/ IRIX Patches 1995 March / SGI IRIX Patches 1995 Mar.iso / relnotes / patchSG0000288 / ch1.z / ch1
Text File  |  1995-03-10  |  12KB  |  331 lines

  1.  
  2.  
  3.  
  4.                                   - 1 -
  5.  
  6.  
  7.  
  8.        1.  _P_a_t_c_h__S_G_0_0_0_0_2_8_8__R_e_l_e_a_s_e__N_o_t_e
  9.  
  10.        This release note describes patch SG0000288 to IRIX 5.3 with
  11.        XFS.
  12.  
  13.        1.1  _S_u_p_p_o_r_t_e_d__H_a_r_d_w_a_r_e__P_l_a_t_f_o_r_m_s
  14.  
  15.        This patch contains bug fixes for the following machine
  16.        types.  The software cannot be installed on other
  17.        configurations:
  18.  
  19.           +o Challenge and Onyx with R4400 processors
  20.  
  21.           +o Crimson (4D/510)
  22.  
  23.           +o PowerSeries (4D/120, 4D/2xx, 4D/3xx and 4D/4xx)
  24.  
  25.           +o Indigo and Indigo2
  26.  
  27.           +o Indy
  28.  
  29.        1.2  _S_u_p_p_o_r_t_e_d__S_o_f_t_w_a_r_e__P_l_a_t_f_o_r_m_s
  30.  
  31.        This patch contains bug fixes for IRIX 5.3 with XFS.  The
  32.        software cannot be installed on other configurations.
  33.  
  34.        1.3  _B_u_g_s__F_i_x_e_d__b_y__P_a_t_c_h__S_G_0_0_0_0_2_8_8
  35.  
  36.        This patch contains fixes for the following bugs in IRIX 5.3
  37.        with XFS.  Bug numbers from Silicon Graphics bug tracking
  38.        system are included for reference.
  39.  
  40.           +o 133Mhz R4600SC loses time at about 30 seconds/day (Bug
  41.             #253937).  Fix causes hinv to report CPU speed as
  42.             132Mhz.  Previously hinv would report an incorrect CPU
  43.             speed of 134Mhz.
  44.  
  45.           +o An Indy or Challenge S would panic after a power
  46.             failure warning.  This was generally the result of a
  47.             temporary power brown out (bug #249413).
  48.  
  49.           +o When an Indy or Challenge S encountered a bad kernel
  50.             memory reference, it would sometimes hang
  51.             uninterruptably (so that even the power switch would
  52.             not work) (bug #254936).
  53.  
  54.           +o It is possible for the system to loop forever printing
  55.             the message "CPU x WARNING:tlbmiss: invalid badvaddr
  56.             XXX". This could happen if there is an invalid
  57.             reference in the kernel to kernel heap space. When this
  58.             situation arose the system would have to be forcibly
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.                                   - 2 -
  71.  
  72.  
  73.  
  74.             rebooted. The kernel has now been corrected to panic
  75.             whenever such a situation arises so that the errant
  76.             code can be isolated (bugs 189291, 251742).
  77.  
  78.           +o Lost clock interrupts on Power Series machines cause
  79.             time to drift under a heavy system load. This patch
  80.             provides a temporary workaround to the problem on
  81.             machines equipped with an IO3 board. Machines which do
  82.             not have an IO3 board installed will be uneffected by
  83.             this patch (bug 192233).
  84.  
  85.           +o On large memory systems, the kernel previously had no
  86.             throttle mechanism on the use of kernel virtual address
  87.             space.  Kernel virtual address space is used to map the
  88.             kernel and its control data structures. Sometimes, EFS,
  89.             NFS, raw I/O and other operations could cause the O/S
  90.             to consume too much kernel virtual space to map file
  91.             systems buffers. A new kernel variable "bmappedpct",
  92.             dynamically tuneable, has been added to limit the % of
  93.             "syssegsz" kernel virtual space allowed to be used by
  94.             the file system buffers. When that value is exceeded,
  95.             the system actively attempts to reclaim virtual address
  96.             space. As shipped, this patch sets this value at 50%.
  97.             Setting this tunable variable to "100" (or 100%)
  98.             effectively disables this new control.  In addition,
  99.             this patch increases the maximum amount of kernel
  100.             virtual space a 32-bit Challenge system can allocate
  101.             from 256MB to 384MB.  The default formula, which is
  102.             used when the tuneable parameter "syssegsz" is 0, is
  103.             still 1/2 the system's memory size (bug 205422).
  104.  
  105.           +o Two optimizations were made to the cache flushing code
  106.             in this patch. One change applies to all platforms and
  107.             pertains to situations where user code pages are
  108.             faulted in. In this scenario it is necessary to flush
  109.             the code page out of all the caches in order to
  110.             guarantee that stale code is not executed. This change
  111.             ensures that once the code page has been flushed and
  112.             then executed, it will remain in the caches if it is
  113.             faulted in again.  The second change applies to
  114.             Challenge systems. For these systems it is necessary
  115.             for all cpus to occasionally flush all of their caches
  116.             in order to avoid virtual coherency exceptions on
  117.             kernel stack pages. What this change does is to greatly
  118.             reduce the frequency of this event by ensuring that all
  119.             free pages in the system are marked as clean in the
  120.             caches (bug 248890).
  121.  
  122.           +o This patch fixes a problem which arose when programs
  123.             were execed by pre-loading all their text. In such a
  124.             situation the lack of coherency between the instruction
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.                                   - 3 -
  137.  
  138.  
  139.  
  140.             and data caches was not accounted for and the results
  141.             were not reliable. This now works correctly (bug
  142.             249652).
  143.  
  144.           +o A race condition exists between a process exiting and
  145.             looking at that same process's credentials using the
  146.             /proc interface. The /proc interface attempts to look
  147.             at process's credentials after releasing a lock on the
  148.             process entry. If the process exits within a few
  149.             instructions the lock being released, then the /proc
  150.             support can use an invalid pointer and panic the
  151.             system. The solution in this patch holds the process
  152.             entry locked until all credential information is copied
  153.             (bug 249685).
  154.  
  155.           +o The logical volume driver has a race condition between
  156.             the "open" and "ioctl" entry points. This patch
  157.             includes a fix that serializes opens and ioctls on
  158.             logical volumes. This fixes problems encountered by
  159.             running multiple mklv commands on the same LV at the
  160.             same time (bug 250334).
  161.  
  162.           +o On an MP system, a process can change the priority of
  163.             another process which could be running on another cpu.
  164.             This fix will allow it to do so without running into
  165.             any kernel stack extension page mismatches (bug
  166.             252308).
  167.  
  168.           +o Doing frequent raw I/O operations to buffers scattered
  169.             throughout large data areas (regions in excess of 32
  170.             Meg) can cause large numbers of tfaults in certain
  171.             circumstances.  These tfaults have no effect on the
  172.             correctness of the system, but can reduce overall
  173.             performance if they occur too frequently.  (The tfault
  174.             rate can be observed with osview(1).)  This fix
  175.             eliminates the excessive tfaults (bug 253861).
  176.  
  177.           +o Kernel multi-access, single-update locks are fixed in
  178.             this patch to work properly for single-processor
  179.             systems (bug 254554).
  180.  
  181.           +o A bug in the getdents system call would cause a system
  182.             crash if a zero-length request was passed to getdents.
  183.             This case is now fixed to return EINVAL (bug 255067).
  184.  
  185.           +o Previously, when a region of user memory grew large
  186.             enough to require a multi-level chunk tree, and when
  187.             the user program did a "shrink" via sbreak, and when
  188.             the shrink happened to occur on certain boundaries that
  189.             are significant to the anon chunk management code, it
  190.             was possible for the process to hang or for the system
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.                                   - 4 -
  203.  
  204.  
  205.  
  206.             to crash.  This now works correctly (bug 255268).
  207.  
  208.           +o There is a small race condition that can cause the
  209.             kernel to get a segmentation violation with a NULL
  210.             pointer.  This can happen in special cases that can
  211.             occur when the following conditions simultaneously
  212.             happen: (1) the kernel tries to page out pages from a
  213.             process's data or bss, (2) this is after the data has
  214.             been modified by the debugger (or in other cases that
  215.             cause the data or bss to be shared between multiple
  216.             processes), and (3) the process then shrinks its bss
  217.             segment with either the brk or sbrk system calls while
  218.             the paging I/O is in progress for the pages being
  219.             affected by the brk or sbrk call.  This now works
  220.             correctly (bug 255378).
  221.  
  222.           +o A special case file-system buffer cache bug could
  223.             produce an incorrect buffer page list.  This now works
  224.             correctly (bug 257730).
  225.  
  226.        1.4  _S_u_b_s_y_s_t_e_m_s__I_n_c_l_u_d_e_d__i_n__P_a_t_c_h__S_G_0_0_0_0_2_8_8
  227.  
  228.        This patch release includes these subsystems:
  229.  
  230.           +o patchSG0000288.eoe1_sw.unix
  231.  
  232.  
  233.        1.5  _I_n_s_t_a_l_l_a_t_i_o_n__I_n_s_t_r_u_c_t_i_o_n_s
  234.  
  235.        Because you want to install only the patches for problems
  236.        you have encountered, patch software is not installed by
  237.        default. After reading the descriptions of the bugs fixed in
  238.        this patch (see Section 1.3), determine the patches that
  239.        meet your specific needs.
  240.  
  241.        If, after reading Sections 1.1 and 1.2 of these release
  242.        notes, you are unsure whether your hardware and software
  243.        meet the requirements for installing a particular patch, run
  244.        _i_n_s_t.
  245.  
  246.        Patch software is installed like any other Silicon Graphics
  247.        software product.  Follow the instructions in your _S_o_f_t_w_a_r_e
  248.        _I_n_s_t_a_l_l_a_t_i_o_n _A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e to bring up the miniroot
  249.        form of the software installation tools.
  250.  
  251.        Follow these steps to select a patch for installation:
  252.  
  253.          1.  At the Inst>prompt, type
  254.  
  255.              iiiinnnnssssttttaaaallllllll ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.                                   - 5 -
  269.  
  270.  
  271.  
  272.              where _x_x_x_x_x_x_x is the patch number.
  273.  
  274.          2.  Select the desired patches for installation.
  275.  
  276.          3.  Initiate the installation sequence. Type
  277.  
  278.              IIIInnnnsssstttt>>>> ggggoooo
  279.  
  280.          4.  You may find that two patches have been marked as
  281.              incompatible.  If this occurs, you must deselect one
  282.              of the patches.
  283.  
  284.              IIIInnnnsssstttt>>>> kkkkeeeeeeeepppp ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
  285.  
  286.              where _x_x_x_x_x_x_x is the patch number.
  287.  
  288.          5.  After completing the installation process, exit the
  289.              _i_n_s_t program by typing
  290.  
  291.              IIIInnnnsssstttt>>>> qqqquuuuiiiitttt
  292.  
  293.  
  294.        To remove a patch, use the _v_e_r_s_i_o_n_s _r_e_m_o_v_e command as you
  295.        would for any other software subsystem.  The removal process
  296.        reinstates the original version of software unless you have
  297.        specifically removed the patch history from your system.
  298.  
  299.        vvvveeeerrrrssssiiiioooonnnnssss rrrreeeemmmmoooovvvveeee ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
  300.  
  301.        where _x_x_x_x_x_x_x is the patch number.
  302.  
  303.        To keep a patch but increase your disk space, use the
  304.        _v_e_r_s_i_o_n_s _r_e_m_o_v_e_h_i_s_t command to remove the patch history.
  305.  
  306.        vvvveeeerrrrssssiiiioooonnnnssss rrrreeeemmmmoooovvvveeeehhhhiiiisssstttt ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
  307.  
  308.        where _x_x_x_x_x_x_x is the patch number.
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.